import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'

Vue.use(VueRouter)

// 定义常量路由
const constantRoutes = [
    {
        // 根路径重定向到'/index'路径
        path: '/',
        name: 'Home',
        component: Home,
        redirect: '/index',
        children: [
            {
                // '/index'路径对应Home组件，并设置meta标题
                path: 'index',
                name: 'index',
                component: Home,
                meta: { title: '首页' }
            }
        ]
    },
    {
        // '/404'路径对应错误页面404组件，并设置meta标题
        path: '/404',
        component: () => import('../views/error-page/404'),
        meta: { title: '404' }
    },
    {
        // '/personal/info'路径对应个人信息页面组件，并设置meta标题
        path: '/personal/info',
        component: () => import('../views/personal/info'),
        meta: { title: '个人信息' }
    },
    {
        // '/personal/change_password'路径对应修改密码页面组件，并设置meta标题
        path: '/personal/change_password',
        component: () => import('../views/personal/changePassword'),
        meta: { title: '修改密码' }
    }
]

// 创建Vue Router实例，并将常量路由配置传入
const createRouter = () => new VueRouter({
    // 设置滚动行为为返回顶部
    scrollBehavior: () => ({ y: 0 }),
    routes: constantRoutes
})

// 创建Vue Router实例
const router = createRouter()

// 导出重置路由的函数
export function resetRouter() {
    const newRouter = createRouter()
    // 重置旧的路由匹配器为新的路由匹配器
    router.matcher = newRouter.matcher
}


export default router
